package com.hsc.offer;

/**
 * @author
 * @date 2025-06-18
 * @Description  10.我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形，总共有多少种方法？
 * 用2x1的小方块覆盖蓝色的大矩形，我们可以理解为同青蛙跳台阶的问题。
 */
public class OfferTest5 {
    public static void main(String[] args) {

    }

    public static  int  RectCover(int target){
        // 大矩形中 一个矩形都没有
        if(target <1){
            return 0;
        }

        // 只有一个 2*1 小矩形
        if(target ==1){
            // 只有一种方法
            return 1;
        }
        // 有两个 2*1 的矩形
        if (target ==2){
            // 有两种方法覆盖
            return 2;
        }
        // 大于 2 的情况
        return RectCover(target - 1) + RectCover(target - 2);
    }
}
